package dao

import (
	"context"
	"core/models/db"
	"core/repo"
)

type ConfigDao struct {
	repo *repo.Manager
}

func (d ConfigDao) GetVal(ctx context.Context, name string) string {
	var data string
	d.repo.DB.Client.WithContext(ctx).Model(db.Config{}).Where("name=?", name).Select("value").Scan(&data)
	return data
}

func (d ConfigDao) GetAll(ctx context.Context) *[]db.Config {
	data := new([]db.Config)
	d.repo.DB.Client.WithContext(ctx).Model(data).Select("id,name,value,info,type").Find(data)
	return data
}

func (d ConfigDao) GetBank(ctx context.Context) *[]db.Bank {
	data := new([]db.Bank)
	d.repo.DB.Client.WithContext(ctx).Model(data).Find(data)
	return data
}

func NewConfigDao(m *repo.Manager) *ConfigDao {
	return &ConfigDao{
		repo: m,
	}
}
